E-learning course editor

ABSTRACT

A course editor includes an input to accept author commands. An interface processes and displays the author commands to facilitate the creation of a course. The interface may include a workspace to display and assemble the structural elements into the course. The workspace may include a menu of structural elements that may be added to the course. The workspace is configured to display a structural element in response to an author command selecting the structural element from the menu. The structural elements may be a sub-course, a learning unit, and/or a knowledge item.

[0001] This application claims priority from U.S. application Ser. No.10/134,676, filed Apr. 30, 2002, and titled E-LEARNING SYSTEM, and U.S.Provisional Application No. 60/354,945, filed Feb. 11, 2002, and titledFLEXIBLE INSTRUCTIONAL ARCHITECTURE FOR E-LEARNING, both of which arehereby incorporated by reference in their entirety for all purposes.

TECHNICAL FIELD

[0002] The following description relates generally to e-learning and inparticular to a course editor for e-learning courses.

BACKGROUND

[0003] Systems and applications for delivering computer-based training(CBT) have existed for many years. However, CBT systems historicallyhave not gained wide acceptance. A problem hindering the reception ofCBTs as a means of training workers and learners is the compatibilitybetween systems. A CBT system works as a stand-alone system that isunable to use content designed for use with other CBT systems.

[0004] Early CBTs also were based on hypermedia systems that staticallylinked content. User guidance was given by annotating the hyperlinkswith descriptive information. The trainee could proceed through learningmaterial by traversing the links embedded in the material. The structureassociated with the material was very rigid, and the material could notbe easily written, edited, or reused to create additional or newlearning material.

[0005] Newer methods for intelligent tutoring and CBT systems are basedon special domain models that must be defined prior to creation of thecourse or content. Once a course is created, the material may not beeasily adapted or changed for different learners' specific trainingneeds or learning styles. As a result, the courses often fail to meetthe needs of the trainee and/or trainer.

[0006] The special domain models also have many complex rules that mustbe understood prior to designing a course. As a result, a course is toodifficult for most authors to create who have not undergone extensivetraining in the use of the system. Even authors who receive sufficienttraining may find the system difficult and frustrating to use. Inaddition, the resulting courses may be incomprehensible due to incorrectuse of the domain model by the authors creating the course. Therefore,for the above and other reasons, new methods and technology are neededto supplement traditional computer based training and instruction.

SUMMARY

[0007] According to one general aspect a course editor includes an inputto accept author commands. An interface processes and displays theauthor commands to facilitate the creation of a course. The interfacemay include a workspace to display and assemble the structural elementsinto the course.

[0008] The workspace may include a menu of structural elements that maybe added to the course. The workspace is configured to display astructural element in response to an author command selecting thestructural element from the menu. The structural elements may be asub-course, a learning unit, and/or a knowledge item.

[0009] The workspace also may include one or more tabs. Each tabcorresponds to a content aggregation level and displays structuralelements corresponding to the content aggregation level.

[0010] The workspace may be used to create relations between structuralelements. The relations are used to indicate a dependency between thestructural elements. The workspace includes a menu of relationsconfigured to enable an author to select a relation from the menu and toinsert the relation between two structural elements displayed in theworkspace. The relation may be inserted by receiving an author commandselecting a first structural element and dragging an indication of therelation (e.g., a line or an arrow) from the first structural element tothe second structural element.

[0011] The relation may be subject taxonomic or non-subject taxonomic. Asubject taxonomic relation may be hierarchical, such as a part/wholerelation and an abstraction relation. The subject taxonomic relationalso may be associative, such as determines, side-by-side, alternativeto, opposite to, precedes, context of, process of, values, means of, andaffinity. An example of a non-subject taxonomic relation includes arelation that indicates a structural element should be completed beforeproceeding to a related structural element or a relation that indicatesthat a structural element belongs to another structural element.

[0012] The interface may include a dialog box displaying one or morefields corresponding to a structural element displayed in the workspace.Examples of fields include a name field, a theme field, a content field,a media type field, a learning time field, a thumbnail field, and anattribute field. The dialog box also may include one or more tabs toselect different fields. Examples of tabs include a general tab (e.g.,with fields to receive information about the content associated with thestructural element), an annotation tab (e.g., with a field to receivenotes regarding the structural element), a keyword tab (e.g., includinga field to receive keywords to help search for a correspondingstructural element), and a competency tab (e.g., including fields toreceive competencies gained from the content associated with structuralelement).

[0013] The interface may include a course overview to display structuralelements and relations of the course. The interface may be configured toreceive an author command selecting a structural element from the courseoverview and to display the selected structural element in theworkspace. The dialog box may be configured to automatically correspondto the selected structural element. The interface may be configured toreceive an author command selecting a relation from the course overviewand to display the selected relation and associated structural elementsin the workspace.

[0014] The interface also may be configured to receive an author commandselecting a learning strategy and to generate a navigation path fordisplay to the author based on the selected learning strategy.

[0015] According to another general concept, a graphical user interfacefor a course editor includes a workspace window to edit and displaystructural elements of a course, an overview window to display andselect a representation of the structural elements of the course, and adialog box window to display data fields corresponding to structuralelements shown in the workspace window.

[0016] The graphical user interface may include a menu bar to displaycourse edit menus including functions to control and interact with thecourse editor. The graphical user interface also may include a buttonbar including one or more button to invoke course editor function tointeract with the windows and their displayed contents.

[0017] A structural element may be displayed as a rectangle in theworkspace. The rectangle may be color-coded, each type of structuralelement having a different color.

[0018] The graphical user interface may be configured to display alearning strategy window to indicate a selected strategy and to generatea navigation path window to display a suggested sequence of structuralelements based on the selected learning strategy.

[0019] The graphical user interface also may be configured toautomatically size the windows to fit on a corresponding display. Thewindows may include a vertical scroll bar and/or a horizontal scroll barto access and display portions of the window that are not displayed.

[0020] Other features and advantages will be apparent from thedescription, the drawings, and the claims.

DESCRIPTION OF DRAWINGS

[0021]FIG. 1 is an exemplary content aggregation model.

[0022]FIG. 2 is an example of an ontology of knowledge types.

[0023]FIG. 3 is an example of a course graph for e-learning.

[0024]FIG. 4 is an example of a sub-course graph for e-learning.

[0025]FIG. 5 is an example of a learning unit graph for e-learning.

[0026]FIGS. 6 and 7 are exemplary block diagrams of e-learning systems.

[0027]FIG. 8 is an exemplary course editor interface that may beimplemented using an authoring tool.

[0028]FIG. 9 is an exemplary course overview of the course editorinterface.

[0029]FIG. 10 is an exemplary dialog box of the course editor interface.

[0030]FIG. 11 is an exemplary workspace of the course editor.

[0031]FIG. 12 is an example showing v as the vertex that represents thelearning unit LU where v₁, v₂ are the vertices.

[0032] Like reference symbols in the various drawings indicate likeelements.

DETAILED DESCRIPTION

[0033] E-Learning Content Structure

[0034] The e-learning system and methodology structures content so thatthe content is reusable and flexible. For example, the content structureallows the creator of a course to reuse existing content to create newor additional courses. In addition, the content structure providesflexible content delivery that may be adapted to the learning styles ofdifferent learners.

[0035] E-learning content may be aggregated using a number of structuralelements arranged at different aggregation levels. Each higher levelstructural element may refer to any instances of all structural elementsof a lower level. At its lowest level, a structural element refers tocontent and may not be further divided. According to one implementationshown in FIG. 1, course material 100 may be divided into four structuralelements: a course 110, a sub-course 120, a learning unit 130, and aknowledge item 140.

[0036] Starting from the lowest level, knowledge items 140 are the basisfor the other structural elements and are the building blocks of thecourse content structure. Each knowledge item 140 may include contentthat illustrates, explains, practices, or tests an aspect of a thematicarea or topic. Knowledge items 140 typically are small in size (i.e., ofshort duration, e.g., approximately five minutes or less).

[0037] A number of attributes may be used to describe a knowledge item140, such as, for example, a name, a type of media, and a type ofknowledge. The name may be used by a learning system to identify andlocate the content associated with a knowledge item 140. The type ofmedia describes the form of the content that is associated with theknowledge item 140. For example, media types include a presentationtype, a communication type, and an interactive type. A presentationmedia type may include a text, a table, an illustration, a graphic, animage, an animation, an audio clip, and a video clip. A communicationmedia type may include a chat session, a group (e.g., a newsgroup, ateam, a class, and a group of peers), an email, a short message service(SMS), and an instant message. An interactive media type may include acomputer based training, a simulation, and a test.

[0038] A knowledge item 140 also may be described by the attribute ofknowledge type. For example, knowledge types include knowledge oforientation, knowledge of action, knowledge of explanation, andknowledge of source/reference. Knowledge types may differ in learninggoal and content. For example, knowledge of orientation offers a pointof reference to the learner, and, therefore, provides generalinformation for a better understanding of the structure of interrelatedstructural elements. Each of the knowledge types is described in furtherdetail below.

[0039] Knowledge items 140 may be generated using a wide range oftechnologies, however, a browser (including plug-in applications) shouldbe able to interpret and display the appropriate file formats associatedwith each knowledge item. For example, markup languages (such as aHypertext Markup language (HTML), a standard generalized markup language(SGML), a dynamic HTML (DHTML), or an extensible markup language (XML)),JavaScript (a client-side scripting language), and/or Flash may be usedto create knowledge items 140.

[0040] HTML may be used to describe the logical elements andpresentation of a document, such as, for example, text, headings,paragraphs, lists, tables, or image references.

[0041] Flash may be used as a file format for Flash movies and as aplug-in for playing Flash files in a browser. For example, Flash moviesusing vector and bitmap graphics, animations, transparencies,transitions, MP3 audio files, input forms, and interactions may be used.In addition, Flash allows a pixel-precise positioning of graphicalelements to generate impressive and interactive applications forpresentation of course material to a learner.

[0042] Learning units 130 may be assembled using one or more knowledgeitems 140 to represent, for example, a distinct, thematically-coherentunit. Consequently, learning units 130 may be considered containers forknowledge items 140 of the same topic. Learning units 130 also may beconsidered relatively small in size (i.e., duration) though larger thana knowledge item 140.

[0043] Sub-courses 120 may be assembled using other sub-courses 120,learning units 130, and/or knowledge items 140. The sub-course 120 maybe used to split up an extensive course into several smaller subordinatecourses. Sub-courses 120 may be used to build an arbitrarily deep nestedstructure by referring to other sub-courses 120.

[0044] Courses may be assembled from all of the subordinate structuralelements including sub-courses 120, learning units 130, and knowledgeitems 140. To foster maximum reuse, all structural elements should beself-contained and context free.

[0045] Structural elements also may be tagged with metadata that is usedto support adaptive delivery, reusability, and search/retrieval ofcontent associated with the structural elements. For example, learningobject metadata (LOM) defined by the IEEE “Learning Object MetadataWorking Group” may be attached to individual course structure elements.The metadata may be used to indicate learner competencies associatedwith the structural elements. Other metadata may include a number ofknowledge types (e.g., orientation, action, explanation, and resources)that may be used to categorize structural elements.

[0046] As shown in FIG. 2, structural elements may be categorized usinga didactical ontology 200 of knowledge types 201 that includesorientation knowledge 210, action knowledge 220, explanation knowledge230, and reference knowledge 240. Orientation knowledge 210 helps alearner to find their way through a topic without being able to act in atopic-specific manner and may be referred to as “know what.” Actionknowledge 220 helps a learner to acquire topic related skills and may bereferred to as “know how.” Explanation knowledge 230 provides a learnerwith an explanation of why something is the way it is and may bereferred to as “know why.” Reference knowledge 240 teaches a learnerwhere to find additional information on a specific topic and may bereferred to as “know where.”

[0047] The four knowledge types (orientation, action, explanation, andreference) may be further divided into a fine grained ontology as shownin FIG. 2. For example, orientation knowledge 210 may refer to sub-types250 that include a history, a scenario, a fact, an overview, and asummary. Action knowledge 220 may refer to sub-types 260 that include astrategy, a procedure, a rule, a principle, an order, a law, a commenton law, and a checklist. Explanation knowledge 230 may refer tosub-types 270 that include an example, a intention, a reflection, anexplanation of why or what, and an argumentation. Resource knowledge 240may refer to sub-types 280 that include a reference, a documentreference, and an archival reference.

[0048] Dependencies between structural elements may be described byrelations when assembling the structural elements at one aggregationlevel. A relation may be used to describe the natural, subject-taxonomicrelation between the structural elements. A relation may be directionalor non-directional. A directional relation may be used to indicate thatthe relation between structural elements is true only in one direction.Directional relations should be followed. Relations may be divided intotwo categories: subject-taxonomic and non-subject taxonomic.

[0049] Subject-taxonomic relations may be further divided intohierarchical relations and associative relations. Hierarchical relationsmay be used to express a relation between structural elements that havea relation of subordination or superordination. For example, ahierarchical relation between the knowledge items A and B exists if B ispart of A. Hierarchical relations may be divided into two categories:the part/whole relation (i.e., “has part”) and the abstraction relation(i.e., “generalizes”). For example, the part/whole relation “A has partB,” describes that B is part of A. The abstraction relation “Ageneralizes B” implies that B is a specific type of A (e.g., an aircraftgeneralizes a jet or a jet is a specific type of aircraft).

[0050] Associative relations may be used refer to a kind of relation ofrelevancy between two structural elements. Associative relations mayhelp a learner obtain a better understanding of facts associated withthe structural elements. Associative relations describe a manifoldrelation between two structural elements and are mainly directional(i.e., the relation between structural elements is true only in onedirection). Examples of associative relations include “determines,”“side-by-side,” “alternative to,” “opposite to,” “precedes,” “contextof,” “process of,” “values,” “means of,” and “affinity.”

[0051] The “determines” relation describes a deterministic correlationbetween A and B (e.g., B causally depends on A). The “side-by-side”relation may be viewed from a spatial, conceptual, theoretical, orontological perspective (e.g., A side-by-side with B is valid if bothknowledge objects are part of a superordinate whole). The side-by-siderelation may be subdivided into relations, such as “similar to,”“alternative to,” and “analogous to.” The “opposite to” relation impliesthat two structural elements are opposite in reference to at least onequality. The “precedes” relation describes a temporal relationship ofsuccession (e.g., A occurs in time before B (and not that A is aprerequisite of B)). The “context of” relation describes the factual andsituational relationship on a basis of which one of the relatedstructural elements may be derived. An “affinity” between structuralelements suggests that there is a close functional correlation betweenthe structural elements (e.g., there is an affinity between books andthe act of reading because reading is the main function of books).

[0052] Non Subject-Taxonomic relations may include the relations“prerequisite of” and “belongs to.” The “prerequisite of” and the“belongs to” relations do not refer to the subject-taxonomicinterrelations of the knowledge to be imparted. Instead, these relationsrefer to the progression of the course in the learning environment(e.g., as the learner traverses the course). The “prerequisite of”relation is directional whereas the “belongs to” relation isnon-directional. Both relations may be used for knowledge items 140 thatcannot be further subdivided. For example, if the size of the screen istoo small to display the entire content on one page, the page displayingthe content may be split into two pages that are connected by therelation “prerequisite of.”

[0053] Another type of metadata is competencies. Competencies may beassigned to structural elements, such as, for example, a sub-course 120or a learning unit 130. The competencies may be used to indicate andevaluate the performance of a learner as the learner traverse the coursematerial. A competency may be classified as a cognitive skill, anemotional skill, an senso-motorical skill, or a social skill.

[0054] The content structure associated with a course may be representedas a set of graphs. A structural element may be represented as a node ina graph. Node attributes are used to convey the metadata attached to thecorresponding structural element (e.g., a name, a knowledge type, acompetency, and/or a media type). A relation between two structuralelements may be represented as an edge. For example, FIG. 3 shows agraph 300 for a course. The course is divided into four structuralelements or nodes (310, 320, 330, and 340): three sub-courses (e.g.,knowledge structure, learning environment, and tools) and one learningunit (e.g., basic concepts). A node attribute 350 of each node is shownin brackets (e.g., the node labeled “Basic concepts” has an attributethat identifies it as a reference to a learning unit). In addition, anedge 380 expressing the relation “context of” has been specified for thelearning unit with respect to each of the sub-courses. As a result, thebasic concepts explained in the learning unit provide the context forthe concepts covered in the three sub-courses.

[0055]FIG. 4 shows a graph 400 of the sub-course “Knowledge structure”350 of FIG. 3. In this example, the sub-course “Knowledge structure” isfurther divided into three nodes (410, 420, and 430): a learning unit(e.g., on relations) and two sub-courses (e.g., covering the topics ofmethods and knowledge objects). The edge 440 expressing the relation“determines” has been provided between the structural elements (e.g.,the sub-course “Methods” determines the sub-course “Knowledge objects”and the learning unit “Relations”.) In addition, the attribute 450 ofeach node is shown in brackets (e.g., nodes “Methods” and “Knowledgeobjects” have the attribute identifying them as references to othersub-courses; node “Relations” has the attribute of being a reference toa learning unit).

[0056]FIG. 5 shows a graph 500 for the learning unit “Relations” 450shown in FIG. 4. The learning unit includes six nodes (510, 515, 520,525, 530, 535, 540, and 545): six knowledge items (i.e., “Associativerelations (1)”, “Associative relations (2)”, “Test on relations”,“Hierarchical relations”, “Non subject-taxonomic relations”, and “Thedifferent relations”). An edge 547 expressing the relation“prerequisite” has been provided between the knowledge items“Associative relations (1)” and “Associative relations (2).” Inaddition, attributes 550 of each node are specified in brackets (e.g.,the node “Hierarchical relations” includes the attributes “Example” and“Picture”).

[0057] E-Learning Strategies

[0058] The above-described content aggregation and structure associatedwith a course does not automatically enforce any sequence that a learnermay use to traverse the content associated with the course. As a result,different sequencing rules may be applied to the same course structureto provide different paths through the course. The sequencing rulesapplied to the knowledge structure of a course are learning strategies.The learning strategies may be used to pick specific structural elementsto be suggested to the learner as the learner progresses through thecourse. The learner or supervisor (e.g., a tutor) may select from anumber of different learning strategies while taking a course. In turn,the selected learning strategy considers both the requirements of thecourse structure and the preferences of the learner.

[0059] In the classical classroom, a teacher determines the learningstrategy that is used to learn course material. For example, in thiscontext the learning progression may start with a course orientation,followed by an explanation (with examples), an action, and practice.Using the e-learning system and methods, a learner may choose betweenone or more learning strategies to determine which path to take throughthe course. As a result, the progression of learners through the coursemay differ.

[0060] Learning strategies may be created using macro-strategies andmicro-strategies. A learner may select from a number of differentlearning strategies when taking a course. The learning strategies areselected at run time of the presentation of course content to thelearner (and not during the design of the knowledge structure of thecourse). As result, course authors are relieved from the burden ofdetermining a sequence or an order of presentation of the coursematerial. Instead, course authors may focus on structuring andannotating the course material. In addition, authors are not required toapply complex rules or Boolean expressions to domain models thusminimizing the training necessary to use the system. Furthermore, thecourse material may be easily adapted and reused to edit and create newcourses.

[0061] Macro-strategies are used in learning strategies to refer to thecoarse-grained structure of a course (i.e., the organization ofsub-courses 120 and learning units 130). The macro-strategy determinesthe sequence that sub-courses 120 and learning units 130 of a course arepresented to the learner. Basic macro-strategies include “inductive” and“deductive,” which allow the learner to work through the course from thegeneral to the specific or the specific to the general, respectively.Other examples of macro-strategies include “goal-based, top-down,”“goal-based, bottom-up,” and “table of contents.”

[0062] Goal-based, top-down follows a deductive approach. The structuralhierarchies are traversed from top to bottom. Relations within onestructural element are ignored if the relation does not specify ahierarchical dependency. Goal-based bottom-up follows an inductiveapproach by doing a depth first traversal of the course material. Thetable of contents simply ignores all relations.

[0063] Micro-strategies, implemented by the learning strategies, targetthe learning progression within a learning unit. The micro-strategiesdetermine the order that knowledge items of a learning unit arepresented. Micro-strategies refer to the attributes describing theknowledge items. Examples of micro-strategies include “orientationonly”, “action oriented”, “explanation-oriented”, and “table ofcontents”).

[0064] The micro-strategy “orientation only” ignores all knowledge itemsthat are not classified as orientation knowledge. The “orientation only”strategy may be best suited to implement an overview of the course. Themicro-strategy “action oriented” first picks knowledge items that areclassified as action knowledge. All other knowledge items are sorted intheir natural order (i.e., as they appear in the knowledge structure ofthe learning unit). The micro-strategy “explanation oriented” is similarto action oriented and focuses on explanation knowledge. Orientationoriented is similar to action oriented and focuses on orientationknowledge. The micro-strategy “table of contents” operates like themacro-strategy table of contents (but on a learning unit level).

[0065] In one implementation, no dependencies between macro-strategiesand micro-strategies exist. Therefore, any combination of macro andmicro-strategies may be used when taking a course. Application oflearning strategies to the knowledge structure of a course is describedin further detail below.

[0066] E-Learning System

[0067] As shown in FIG. 6 an e-learning architecture 600 may include alearning station 610 and a learning system 620. The learner may accesscourse material using a learning station 610 (e.g., using a learningportal). The learning station 610 may be implemented using a workstation, a computer, a portable computing device, or any intelligentdevice capable of executing instructions and connecting to a network.The learning station 610 may include any number of devices and/orperipherals (e.g., displays, memory/storage devices, input devices,interfaces, printers, communication cards, and speakers) that facilitateaccess to and use of course material.

[0068] The learning station 610 may execute any number of softwareapplications, including an application that is configured to access,interpret, and present courses and related information to a learner. Thesoftware may be implemented using a browser, such as, for example,Netscape communicator, Microsoft's Internet explorer, or any othersoftware application that may be used to interpret and process a markuplanguage, such as HTML, SGML, DHTML, or XML.

[0069] The browser also may include software plug-in applications thatallow the browser to interpret, process, and present different types ofinformation. The browser may include any number of application tools,such as, for example, Java, Active X, JavaScript, and Flash.

[0070] The browser may be used to implement a learning portal thatallows a learner to access the learning system 620. A link 621 betweenthe learning portal and the learning system 620 may be configured tosend and receive signals (e.g., electrical, electromagnetic, oroptical). In addition, the link may be a wireless link that useselectromagnetic signals (e.g., radio, infrared, to microwave) to conveyinformation between the learning station and the learning system.

[0071] The learning system may include one or more servers. As shown inFIG. 6, the learning system 620 includes a learning management system623, a content management system 625, and an administration managementsystem 627. Each of these systems may be implemented using one or moreservers, processors, or intelligent network devices.

[0072] As shown in FIGS. 6 and 7, the administration management system627 may be implemented using a server, such as, for example, the SAP R/34.6C+LSO Add-On. The administration management system 627 may include adatabase of learner accounts and course information. For example, thelearner account may include demographic data about the learner (e.g., aname, an age, a sex, an address, a company, a school, an account number,and a bill) and his/her progress through the course material (e.g.,places visited, tests completed, skills gained, knowledge acquired, andcompetency using the material). The administration management system 627also may provide additional information about courses, such as coursetitle, description, courses offered, the author/instructor of a course,and the most popular courses.

[0073] The content management system 625 may include a learning contentserver 730. The learning content server 730 may be implemented using aWebDAV server. The learning content server may include a contentrepository. The content repository may store course files and mediafiles that are used to present a course to a learner at the learningstation 610. The course files may include the structural elements thatmake up a course and may be stored as XML files. The media files may beused to store the content that is included in the course and assembledfor presentation to the learner at the learning station 610.

[0074] The learning management system 623 may include a content player720. The content player 720 may be implemented using a server, such asan SAP J2EE Engine. The content player 720 is used to obtain coursematerial from the content repository. The content player 720 alsoapplies the learning strategies to the obtained course material togenerate a navigation tree or path for the learner. The navigation treeor path is used to suggest a route through the course material for thelearner and to generate a presentation of course material to the learnerbased on the learning strategy selected by the learner. Coursenavigation is described in further detail below.

[0075] The learning management system 623 also may include an interfacefor exchanging information with the administration management system627. For example, the content player 720 may update the learner accountinformation as the learner progresses through the course material toindicate, for example, competencies gained, tests passed, coursescompleted.

[0076] Course Author Station

[0077] As shown in FIGS. 6 and 7 an e-learning system may also includean author station 630. The author station 630 may be implemented using aworkstation, a computer, a portable computing device, or any intelligentdevice capable of executing instructions and connecting to a network.The author station 630 may include any number of devices and/orperipherals (e.g., displays, memory/storage devices, input devices,interfaces, printers, communication cards, and speakers) that facilitateaccess to, presentation of, and creation of courses and their associatedcontent.

[0078] The author station 630 may execute any number of softwareapplications including an author tool 740 that is configured to create,access, interpret, and present courses (and related coursedata/information). The author tool 740 may include a course editor 750and a browser, such as, for example, Netscape communicator, Microsoft'sInternet explorer, or any other software application that may be used tointerpret and process a markup language, such as HTML, SGML, DHTML, orXML. The browser also may include software plug-in applications thatallow the browser to interpret, process, create, and present differenttypes of information. The browser may include any number of applicationtools, such as, for example, Java, Active X, JavaScript, and Flash.

[0079] The course author tool 740 may access content and associate thecontent with structural elements. The author tool 740 also may associateknowledge types, relations, and metadata with the structural elements.The author tool 740 may be used to build the structure of a course,i.e., its structural elements and relations. The author tool 740 maysave the structural elements and metadata as course files and theassociated content as media files.

[0080] The author station 630 also may include an embedded learningmanagement system 760. The embedded learning management system 760 is anapplication program that is similar to the learning management system623 and enables the author to preview a course by applying learningstrategies to the course (e.g., that is being created/modified by theauthor) in order to view the navigation path that is suggested to alearner based on the applied strategy. Based on the different suggestednavigation paths, the author may determine how to create structure forthe course and how the created structure is interpreted by the learningmanagement system 623. As a result, the author may edit, modify, or addstructure to the course before publishing the course to the learningsystem 620.

[0081] The author station 630 also may include a communicationsinterface 631. After a course is created, the author station 630 may usethe communication interface 631 to connect to the learning system 620 topublish the course so that a learner may book and take the course. Inparticular, the communication interface 631 of the author station 630may connect to the content management system 625 using a communicationslink 635. To publish the course on the learning system 620, the authorstation 630 transfers the course structure and content (e.g., the coursefiles and media files) to the content management system 625. Aspreviously described, the course files may be formatted according to amarkup language (e.g., XML). The communications link 635 may beimplemented using any permanent or temporary communications linkconfigured to transfer the course files and associated media files(e.g., a communications medium configured to transfer data signals aselectrical, electromagnetic, or optical waves). The content managementsystem 625 stores the course files and associated media files in thecontent repository for access by the content player 720.

[0082] The communication interface 631 of the author station 630 alsomay connect to the administration management system 627 using acommunication link 637. The communication link may be implemented by anycommunication medium that may be configured to send and receive signals(e.g., electrical, electromagnetic, or optical). The author station 630provides the administration management system 627 with courseinformation (e.g., title, author, description, credits, prerequisites,and competencies gained/required) that is used by a learner, forexample, to book a course. Once the course is published, theadministration management system 627 makes the course informationavailable to the learning station 610 using the learning portal.

[0083] Course Editor

[0084] The author tool 740 and author station 630 may include a courseeditor 750 that can be used in conjunction with a browser to create,modify, build, assemble, and preview course structures and theirassociated content. The course editor 750 may be used to structurecontent for use in a course. The course editor 750 includes a courseeditor interface.

[0085] The course editor 750 may be used to create the structure for thecourse content. The structure may be saved as metadata. The metadata maybe interpreted by the content player 720 of the learning managementsystem 623 to present a course to a learner according to a learningstrategy selected at run time. In particular, the course editor 750enables the author to classify and describe structural elements, assignattributes to structural elements, assign relations between structuralelements, and build a subject-taxonomic course structure. The courseeditor 750 primarily generates the structure of the course and notstructure of the content (although structure of content may be providedfor as well).

[0086] As shown in FIG. 8, the course editor interface 800 may include amenu bar 810, a button bar 820, a course overview 830, a dialog box 850,and work space 860. The menu bar 810 may include various drop-downmenus, such as, for example, file, edit, tools, options, and help. Thedrop-down menus may include functions, such as create a new course, openan existing course, edit a course, or save a course. The button bar 820may include a number of buttons. The buttons may be shortcuts tofunctions in the drop down menus that are used frequently and thatactive tools and functions for use with the course editor 750. Theremaining portions of the course editor interface 800 may be divided into three primary sections or windows: a course overview 830, a dialogbox 850, and a workspace 860.

[0087] Each of the sections may be provided with horizontal or verticalscroll bars or other means allowing the windows to be sized to fit ondifferent displays while providing access to elements that may notappear in the window.

[0088] As shown in FIG. 9, the course overview 830 may be used to selectand view components within a course. The author may select variouscomponents within the course overview 830 to open and close thecomponents, for example, the structural elements. The components in thecourse overview 830 may be arranged in an explorer format. The courseoverview 830 may include a directory 920 of components including filesand folders. Files and folders may be expanded to view their contents.However, unlike an explorer, the course overview 830 distinguishesbetween structural elements 930 and relations 940 (e.g., which maycontain learning content). Sub-courses 120, learning units 130, andknowledge items 140, as well as their relations, may be displayed in thecourse overview 830 using icons. To access a sub-course 120 or learningunit 130 shown in the overview, the author may right click and selectopen sub-course 120 or learning unit 130. Knowledge items 140 may beopened by double clicking on the associated icon.

[0089] As shown in FIG. 10, the dialog box 850 may be used to interactwith and edit course components. For example, the dialog box 850 may bearranged with tabs (e.g., general, annotations, keywords, andcompetency) that may be used to describe the structural elements. Eachtab may be used to edit a structural element. The dialog box 850 shownin FIG. 10 includes the tabs general 1010, annotations 1020, andkeywords 1030. The dialog box 850 shown in FIG. 10 also includes thefields theme 1040, content 1050, learning time 1060, LOM file 1070, andthumbnail 1080. An author may add content (e.g., an HTML page) andattributes (e.g., a name, a knowledge type, a media type, a LOM, and acompetency) to the structural elements using the dialog box 850. Thedialog box 850 is automatically configured to correspond to anystructural element that has been selected or created in the workspace860.

[0090] The general tab 1010 enables the author to determine generalinformation and/or attributes that are associated with a selectedstructural element. A name of a structural element may be provided in aname field (not shown). A thumbnail 1080 may be used to give the authoran impression of the content associated with the structural element. Atheme 1040 may be included to describe a topic, an attribute, or aknowledge type of the structural element. A learning time 1060 may beused to indicate the average amount of time that a learner may need tocomplete the content associated with the structural element. A LOM file1060 may be included to add comprehensive metadata to the structuralelement.

[0091] The competency tab (not shown) may be used to classifycompetencies that are acquired by completing or viewing the structuralelements. Examples of competencies include, cognitive, emotional,sensomotoric, and social. Competencies also may be included that areneeded or recommended to use the associated structural element.

[0092] The annotations tab 1020 may be used to insert comments regardingthe content associated with a structural element. For example, notes ora description of the content associated with the structural element maybe inserted.

[0093] The keyword tab 1030 may be used to enter keywords that are usedto search for and/or organize structural elements. Keywords also may beused to classify a structural element.

[0094] As shown in FIG. 11, the workspace 860 may be used to create thestructure of a course. The workspace 860 displays structural elementsand relations between the structural elements. Structural elementsselected in the overview may be displayed in the workspace 860.Similarly, new structural elements and any associated relation may becreated in the workspace 860.

[0095] Structural elements may be represented in the workspace 860 asrectangles. The rectangles may be color coordinated to indicate the typeof structural element (e.g., sub-course 120, learning unit 130,knowledge item 140) and whether the structural element is selected oractive. Alternatively, the structural elements may be represented in theworkspace by a thumbnail indicative of the content associated with thestructural element (e.g., as specified in 1080). Relations may beindicated as lines (i.e., non directional relations) or arrows (i.e.directional relations). The displayed rectangles, lines, and arrows maybe labeled with a corresponding name (e.g., assigned using the dialogbox 850). The workspace 860 also may include tabs 1110 that correspondto each aggregation level. For example, the structural elementsbelonging to each aggregation level may be accessed by selecting acorresponding tab.

[0096] As shown in FIG. 11, the tab “Course Creation With L3” indicatesthe course that is currently viewed in the workspace. The tabs “course”,“basic concepts”, and “knowledge structure” correspond to theaggregation levels within the course. The tab “knowledge structure” isselected and the corresponding structural elements and relations areshown. The tab may be populated with a name corresponding to astructural element or aggregation level, which may be assigned using thedialog box 850.

[0097] Structural elements may be added to a course and structured usingthe workspace 860. For example, a pop-up menu may be accessed by rightclicking on the workspace 860. The pop-up menu includes any availablestructural elements that may be added to the selected tab. To generate astructural element, the author chooses the appropriate button from thepup-up menu corresponding to the type of structural element to be added.

[0098] For example, to generate a sub-course 120, the author selectssub-course 120 from the pop-up menu. Upon selecting the button newsub-course 120, the menu presents a choice of Empty or User. The emptyoption may be selected to open an empty sub-course 120. The user optionmay used to open a sub-course 120 with predefined content, such aslearning units 130 and/or knowledge items 140. A dialog box 850corresponding to the sub-course 120 is automatically configured. Usingthe corresponding dialog box 850 the author may enter a name,attributes, annotations, and keywords for the sub-course 120. Thesub-course 120 is added to the course overview 830 and a rectangle withthe color-coding corresponding to a sub-course (e.g. green) is added tothe workspace 860.

[0099] To generate a learning unit 130, the author may choose theappropriate button from the pop-up menu. Upon selecting the button newlearning unit 130, the menu presents a choice of Empty or User. Theempty option may be selected to open an empty learning unit 130. Theuser option may used to open a learning unit 130 with predefinedcontent, such as knowledge items 140. A corresponding dialog box 850prompts the author to enter a name, attributes, annotations, andkeywords for the learning unit 130. The learning unit 130 is displayedin the course overview 830 and appears as a rectangle with thecorresponding color-coding (e.g. violet) in the workspace 860. To createa knowledge item 140, the author chooses the appropriate button from thepop-up menu. For example, selecting the button create knowledge item 140automatically configures a dialog box 850 corresponding to the knowledgeitem 140. The dialog box 850 may be used to enter a name, attributes,annotations, and keywords corresponding to the knowledge item 140. Theknowledge item 140 appears in the course overview 830, and the workspace860 is populated with a rectangle with the corresponding color-coding(e.g. brown). The dialog box 850 also enables the author to assigncontent to the knowledge item 140. For example, the content field 1050in the dialog box 850 may be used to establish a reference to a mediafile corresponding to the knowledge item 140. The media file may be anymedia that may displayed by a browser. The author also may assign anappropriate knowledge type (e.g., orientation, explanation, action,reference) and media type (e.g., text, images, diagrams, pictures,sounds, films, video, audio, chat groups, email, video conferences,whiteboards, phones, and PDAs) to the knowledge item 140.

[0100] The pop-up menu also may be used to create tests andcollaborative scenarios. When test is selected from the pop-up menu thedialog box 850 appears. The dialog box 850 includes the tabs general,test parameters, annotations, and keywords. The user may use the generaltab to insert a name, content, time, and LOM file. In addition, arectangle test with the corresponding color-coding appears in theworkspace. The test parameters tab may be used to indicate a type oftest (e.g., pre-test, exercise, self test, or post test. A collaborationscenario may be used to provide an opportunity for the learner tointeract with other learners.

[0101] To create a relation between structural elements, the authorselects a structural element in the workspace 860. The author thenselects a relation from the pop-up menu. The author may drag a line orarrow corresponding to the relation from the selected structural elementto a second structural element. The author also may edit and removeunwanted relations by selecting an existing relation in the workspaceand using the pop-up menu to edit or delete the relation.

[0102] After completing the course and the associated course structure,the author may activate the embedded learning management system 760 topreview the course. The embedded learning management system 760 appliesselected strategies to the course. To preview the course, the authoractivates the embedded learning management system 760 using theauthoring tool. The author then selects a strategy. The embeddedlearning management system 760 applies the selected strategy to thecourse structure and determines a navigation path. The navigation pathis presented to the author (in a manner that is similar to the display alearner would receive). The author may continue to select otherstrategies and view the corresponding course navigation path views. Oncethe author is satisfied with the course structure, the author maytransfer the course to the learning system 620 to publish the course.

[0103] Course Navigation

[0104] The structure of a course is made up of a number of graphs of thestructural elements included in the course. A navigation tree may bedetermined from the graphs by applying a selected learning strategy tothe graphs. The navigation tree may be used to navigate a path throughthe course for the learner. Only parts of the navigation tree aredisplayed to the learner at the learning portal based on the position ofthe learner within the course.

[0105] As described above, learning strategies are applied to the staticcourse structure including the structural elements (nodes), metadata(attributes), and relations (edges). This data is created when thecourse structure is determined (e.g., by a course author). Once thecourse structure is created, the course player processes the coursestructure using a strategy to present the material to the learner at thelearning portal.

[0106] To process courses, the content player 720 grants strategiesaccess to the course data and the corresponding attributes. The strategyis used to prepare a record of predicates, functions, operations, andorders that are used to calculate navigation suggestions, which isexplained in further detail below.

[0107] The content player 720 accesses files (e.g., XML files storingcourse graphs and associated media content) in the content repositoryand applies the learning strategies to the files to generate a paththrough the course. By applying the learning strategies the contentplayer 720 produces a set of course-related graphs (which is simply anordered list of nodes) that are used to generate a navigation tree ofnodes. The set of nodes may be sorted to generate an order list of nodesthat may be used to present a path through the material for a learner. Apath maybe generated using the embedded learning management system 760in the same manner. In general graphs and strategies may “interact” inthe following ways:

[0108] 1. A strategy implements a set of Boolean predicates that can beapplied to graph nodes. For example: isCompleted(node).

[0109] 2. A strategy may be informed by an event that some sort ofaction has been performed on a graph node. For example: navigated(node).

[0110] 3. A strategy may provide functions that are used to compute newnode sets for a given node. For example: NavigationNodes(node).

[0111] 4. A strategy provides an ordering function that turns node setscomputed number 3 into ordered lists.

[0112] 5. A strategy may decide to alter certain strategy-related nodeattributes. For example: node.setVisited(true).

[0113] Note that the last point is used because a strategy does not keepany internal state. Instead, any strategy-related information is storedin graph nodes' attributes allowing strategies to be changed “on thefly” during graph traversal.

[0114] As described there are sets of nodes that may be used to generatea path through a course. One set of nodes is “navigation nodes.”Navigation nodes may include all nodes that the strategy identifies thatmay be immediately reached from the current node. In other words, thenavigation nodes represent potential direct successors from a currentnode. Another set of nodes is “start nodes.” Start nodes are potentialstarting points when entering a new graph. The more starting points thisset contains, the more choices a learner has when entering the unit. Asa consequence, any strategy should implement at least two functions thatcan compute these sets and the ordering function that transforms thosesets into ordered lists. The functions are described in further detailbelow using the following examples.

[0115] In the following examples, these definitions are used:

[0116] C is the set of all courses.

[0117] G is a set of graphs.

[0118] V is a set of vertices (e.g., knowledge items, references tolearning units, references to sub courses, and test) Vertices are usedwhen talking about graphs in a mathematical sense (whereas nodes mayused to refer to the resulting course structure)

[0119] E is a set of edges (e.g., relations types as used in amathematical sense).

[0120] TG={sc,lu} is the set of graph types such that:

[0121] sc=sub-course; and

[0122] lu=learning unit.

[0123] TC={sc,lu,co,tst} is the set of content types such that:

[0124] sc=sub-course;

[0125] lu=learning unit;

[0126] co=content; and

[0127] tst=test.

[0128] (With respect to assigning competences to a learner when passinga test, only pretests and posttests are defined as tests; self-tests andexercises are content rather than tests.)

[0129] TK={ . . . } is the set of all knowledge types (e.g., asdescribed in the section E-learning content structure).

[0130] TR={ . . . } is the set of all relation types(e.g., as describedin the section E-learning content structure).

[0131] BOOL={true,false} is the Boolean set with the values true andfalse.

[0132] MAC={ . . . } is the set of macro-strategies (e.g., as describedin the section E-learning strategies).

[0133] MIC={ . . . } is the set of micro-strategies (e.g., as describedin the section E-learning strategies).

[0134] COMP={ . . . } is the set of all competences.

[0135] LCOMP⊂COMP is the set of a learner's competences.

[0136] TST={pre,post} is the set of test types, such that:

[0137] pre=pretest; and

[0138] post=posttest.

[0139] A course c=(G_(c),g_(s),mac,mic)∈C may be defined such that:

[0140] G_(c) is the set of all sub-courses and learning units that aremembers of c;

[0141] g_(s) is the start graph of course c, in particular g_(s)∈G;

[0142] mac∈MAC is the macro-strategy that has been chosen for navigatingthe course; and

[0143] mic∈MIC is the micro-strategy that has been chosen for navigatingthe course.

[0144] Processing of the course begins with the start graph.

[0145] A graph g=(V_(g),E_(g),t_(g),comp_(g))∈G may be defined suchthat:

[0146] V_(g) is the set of all vertices in g;

[0147] E_(g) ⊂V_(g)×V_(g)×TR is the set of all edges in g;

[0148] t_(g)∈TG is the graph type of g; and

[0149] comp_(g) ⊂COMP Are the competencies of the graph.

[0150] In the following description the term content graph is used toidentify the sub-graph to which a vertex refers, rather than a graphthat includes the vertex. One can think of the vertex representing the“placeholder” of the sub-graph.

[0151] A vertexv=(vs_(v),tc_(v),gc_(c),tk_(v),tt_(v),mscore_(v),ascore_(v))∈V isdefined such that:

[0152] vs_(v)∈BOOL is the visited status of v;

[0153] tc_(v)∈TC is the content type of v;

[0154] gc_(v)∈G is the content graph of v;

[0155] tk_(v)∈TK is the knowledge type of v;

[0156] tt_(v)∈TST is the test type of v;

[0157] mscore_(v) is the maximum possible test score of v; and

[0158] ascore_(v) is the test score actually attained for v.

[0159] An edge or relation type e=(V_(S),V_(E),tr_(e))∈E may be definedsuch that:

[0160] V_(S)∈V is the starting vertex of e;

[0161] V_(E)∈V is the end vertex of e; and

[0162] tr_(e)∈TR is the relation type of e.

[0163] A predicate is a mapping p:V→BOOL that assigns a value b_(p)∈BOOLto each vertex v∈V. Therefore:

[0164] b_(p)=p(v).

[0165] An order is a mapping ord:V×V→BOOL that assigns a valueb_(ord)∈BOOL to a pair of vertices v₁,v₂∈V. Therefore:

[0166] b_(ord)=ord(v₁,v₂).

[0167] The mapping sort:V^(n),ord→V^(n) is a sorting function from a setof vertices V^(n) to a set of vertices (v₁, . . . , v_(n)) {overscore(V)}^(n) with the order ord, provided that:

[0168] (v₁, . . . , v_(n))=sort(V^(n),ord) such that${\underset{{i,\quad j} \in {{{({1\quad \ldots \quad n})}{,\quad}\quad i} \neq j}}{\forall}{{v_{i},\quad v_{j}} \in {V^{n}:{{ord}\left( {v_{i},\quad v_{j}} \right)}}}} = {true}$

[0169] for i≦j.

[0170] The following description explains the use of attributes.Attributes are used to define and implement the learning strategies.

[0171] Let g=(V_(g),E_(g),t_(g),comp_(g))∈G be a graph with thefollowing attributes:

[0172] g.nodes=V_(g) Are the vertices of g;

[0173] g.type=t_(g) is the type of g; and

[0174] g.comp=comp_(g) is the graph's competencies.

[0175] Letv=(vs_(v),tc_(v),gc_(c),tk_(v),tt_(v),mscore_(v),ascore_(v))∈V be avertex with the following attributes:

[0176] v.visited=vs_(v) is the visited status of vertex v (initiallythis value is false);

[0177] v.graph={g=(V_(g),E_(g),t_(g))∈G|v∈V_(g)} is the graph thatcontains v;

[0178] v.contentType=tc_(v) is the content type of v;${v.{contentGraph}} = \left\{ \begin{matrix}{{g^{\prime} \in {G:{tc}_{v}}} = {{{sc}\bigvee{tc}_{v}} = {lu}}} \\{{undef}:{otherwise}}\end{matrix} \right.$

[0179]  is the content graph of v;

[0180] v.knowType=tk_(v) is the knowledge type of v;${v.{testType}} = \left\{ \begin{matrix}{{{tt}_{v} \in {{TST}:{tc}_{v}}} = {tst}} \\{{undef}:{otherwise}}\end{matrix} \right.$

[0181]  is the test type of v;

[0182] v.mscore=mscore_(v) is the maximum possible test score of v(initially this value is 0);

[0183] v.ascore=ascore_(v) is the actual test score attained for v(initially this value is −1

[0184] Let e=(v_(S),v_(E),tr_(e))∈E be an edge with the followingattributes:

[0185] e.start=v_(S) is the starting vertex of e;

[0186] e.end=v_(E) is the end point of e;

[0187] e.type=tr_(e) is the relation type of e;

[0188] An edge's logical direction does not necessarily have to agreewith the direction indicated by the course player, because the courseplayer displays an edge in the “read direction.” This applies to thefollowing edge, for example, e=(v_(S),v_(E),“is a subset of”). Thefollowing explanation refers to the logical direction, in other words,the direction of the edge in the above-described cases is considered tobe “rotated.” In the following, undirected edges are treated as twoedges in opposite directions.

[0189] Predicates are “dynamic attributes” of vertices. The strategycomputes the dynamic attributes for an individual vertex when necessary.

[0190] The following are examples of predicates:

[0191] Visited(v): the vertex v has already been visited;

[0192] Suggested(v): the vertex v is suggested;

[0193] CanNavigate(v): the vertex v can be navigated; and

[0194] Done(v): the vertex v is done.

[0195] If a vertex is within a learning unit (i.e., v.graph.type=lu),then the micro-strategy is used to compute the predicates. Themacro-strategy that is chosen is responsible for determining all othervertices.

[0196] Functions are used to compute the navigation sets (vertices thatare displayed). A function should return a set of vertices. Thestrategies implement the functions.

[0197] For example, the following functions are:

[0198] {overscore (V)}=StartNodes(g)={{overscore (v)}|{overscore (v)} isa starting vertex of g} is the set of all starting vertices of graph g.Starting vertices are the vertices of a graph from which navigationwithin the graph may be initiated in accordance with a chosen strategy.

[0199] {overscore (V)}=NextNodes(v)={{overscore (v)}|{overscore (v)} isa successor of v} is the set of all successor vertices of vertex v.

[0200] For micro-strategies, the chosen macro-strategy calls thefunctions as needed. When entering a learning unit the macro-strategyselects the appropriate (selected) micro-strategy.

[0201] Operations provide information to the chosen strategy aboutparticular events that occur during navigation of a course. The strategymay use them to change the attributes. The operations are:

[0202] navigate(v); The runtime environment calls this operation as soonas the vertex v is navigated during the navigation of the course.

[0203] testDone(v,MaxScore,ActScore); The runtime environment calls thisoperation if the vertex v is a test (v.contentType=tst) that has beendone. MaxScore contains the maximum possible score, ActScore the scoreactually attained.

[0204] If a vertex is in a learning unit, which means thatv.graph.type=lu, then the micro-strategy computes these operations. Themacro-strategy is responsible for all other vertices.

[0205] The runtime environment uses the sorting function to order thenavigation sets that have been computed. The order determines thesequence in which the vertices are to be drawn. The “most important”vertex (e.g., from the strategy's point of view) is placed at the startof the list (as the next vertex suggested). The strategies implementthese sorting functions and the runtime environment provides them. Thefollowing examples of sorting functions may be defined:

[0206] sortNav(V) is used to sort the set of navigation vertices.

[0207] The sorting functions are called automatically as soon as thefunctions have returned sets of vertices to the strategy in question. Itis consequently necessary that each macro and micro-strategy have asorting function at its disposal.

[0208] The following description explains the predicates, operations,functions, and sorting functions associated with macro-strategies.

[0209] The following is an example of how a top-down (deductive)learning strategy may be realized.

[0210] The predicates for the top-down strategy may be defined asfollows:

[0211] Visited (v):v.visited

[0212] The vertex's “visited” attribute is set.

[0213] Suggested(v):∀({overscore (v)},v,tr)∈E such that tr=prerequisitewe have: Done({overscore (v)})=true

[0214] All of the vertex's prerequisites are satisfied.

[0215] CanNavigate(v):Suggested(v)

[0216] Is used in this example like Suggested.

[0217] Done(v):

[0218] (v.contentType∈{sc,lu}

v.contentGraph.comp≠Ø⊂LCOMP)

[0219] (v.contentType≠tst

v.visited=true

(∀{overscore (v)}∈StartNodes(v.contentGraph):Done({overscore(v)})=true))

[0220] (c.contentType≠tst

(v.ascore*2)≧v.mscore)

[0221] The vertex v is considered done if at least one of the followingconditions holds:

[0222] It includes a learning unit or sub-course that has at itsdisposal a nonempty set of competences that the learner alreadypossesses;

[0223] It does not contain a test, is visited, and all of the contentgraph's starting vertices have been done; and/or

[0224] It deals with a test and at least half of the maximum score hasbeen attained.

[0225] The functions for the top-down strategy may be defined asfollows: ${{StarNodes}(g)} = \left\{ \begin{matrix}{g = {{undef}:Ø}} \\{{g.{type}} = {{lu}:{c.{mic}.{{StartNodes}(g)}}}} \\{{g.{type}} = {{sc}:\left\{ {v \in V_{g}} \middle| {\forall{\left( {v^{*},\quad v,\quad {tr}} \right) \in {E:{{tr} \neq {heirarchical}}}}} \right\}}}\end{matrix} \right.$

[0226] If g is undefined, which means that vertex does not have anycontent graphs, then the set is empty.

[0227] If g is a learning unit, the StartNodes( ) function of the chosenmicro-strategy will be used.

[0228] If g is a sub-course, all vertices that do not have anyhierarchical relations referring to them will be returned.

[0229] NextNodes(v)={{overscore (v)}∈V_(vgraph)|∃(v,{overscore(v)},tr)}∪StartNodes(v.contentGraph)

[0230] All vertices connected to v by an externally directed relation,plus all vertices that are starting vertices of the content graph of v.

[0231] The operations for top-down may be defined as follows:

[0232] navigate(v):v.visited=true

[0233] The vertex's “visited” attribute is set to true.

[0234] testDone(v,MaxScore,ActScore):v.mscore=MaxScore,v.ascore=ActScore

[0235] if $\left\{ \begin{matrix}{{{{Done}(v)} = {{{true}:{LCOMP}} = {{LCOMP}\bigcup{v.{graph}.{comp}}}}},{{\forall{\overset{\_}{v} \in {v.{{graph}:{\overset{\_}{v}.{visited}}}}}} = {true}}} \\{{{Done}(v)} = {{{false}:{\forall{\overset{\_}{v} \in {v.{{graph}:{\overset{\_}{v}.{visited}}}}}}} = {false}}}\end{matrix} \right.$

[0236] The maximum test score and the test score actually attained forthe vertex are both set.

[0237] If the test is passed, the learner competences will be enlargedto include the competences of the graph, and all of the graph's verticeswill be set to “visited.”

[0238] If the test is not passed, all of the graph's vertices are resetto “not visited.”

[0239] The sorting function sortNav(V) may be defined upon an orderrelation <:V₁×V₂→bool on a set of vertices. This requires that thefollowing auxiliary functions be defined:

[0240] 1. An order relation for vertices with respect to the vertex ID

[0241] <_(id):V×V→bool

[0242] v₁≦_(id)v₂:

v₁.id<v₂.id

[0243] 2. A comparison relation for vertices with respect to the vertexID

[0244] =:V×V→bool,

[0245] v₁=v₂:

v₁.id=v₂.id

[0246] 3. An order relation on the test types and unit types

[0247] <_(test):(TC×TST)×(TC×TST)→bool

[0248] (tst,pre)<(co,undef)<(lu,undef)<(tst,post)

[0249] 4. An order relation based on 3. for vertices with respect to thetest types and unit types.

[0250] <_(test):V×V→bool

[0251] v₁<_(test)v₂:

(v₁.contentType,v₁.testType)<_(test)(v₂.contentType,v₂.testType)

[0252] 5. A comparison relation for vertices with respect to the testtypes and unit types

[0253] =_(test):V×V→bool

[0254] v₁=_(test) v₂:

(v₁.contentType,v₁.testType)=(v₂.contentType,v₂.testType)

[0255] 6. An order relation on the knowledge types based on one of themicro-strategies (see micro-strategies)

[0256] <_(micro):TK×TK→bool

[0257] 7. An order relation based on 6. on the vertices with respect tothe micro-strategies.

[0258] <_(micro)V×V→bool

[0259] v₁<_(micro)V₂:

v₁.knowType<_(micro)v₂.knowType

[0260] 8. A comparison relation to the vertices in regard to theknowledge types

[0261] =_(micro):V×V→bool

[0262] v₁=_(micro)v₂:

v₁.knowType=v₂.knowType

[0263] Using these definitions the function <:V₁×V₂→bool may be definedas follows: $v_{1} < {v_{2}\quad \text{:⇔}\left\{ \begin{matrix}{{v_{1}.{contentType}} \neq {{tst}\bigwedge}} & \quad & \quad \\{\exists{v \in {V_{1}:\left\lbrack {\left( {v_{1},v,{prereq}} \right) \in {{E_{1}\bigwedge{v.{contentType}}} \neq {{tst}\bigwedge v_{1}} < {v\bigwedge v} \leq v_{2}}} \right\rbrack}}} & \quad & \quad \\{{\bigvee v_{1}} <_{test}v_{2}} & \quad & \quad \\{{\bigvee v_{1}} =_{test}{{v_{2}\bigwedge v_{1}} <_{id}v_{2}}} & {if} & {{g_{1} = g_{2}},{t_{1} \neq {lu}}} \\\quad & \quad & \quad \\{{v_{1}.{contentType}} \neq {{tst}\bigwedge}} & \quad & \quad \\{\exists{v \in {V_{1}:\left\lbrack {\left( {v_{1},v,{prereq}} \right) \in {{E_{1}\bigwedge{v.{contentType}}} \neq {{tst}\bigwedge v_{1}} < {v\bigwedge v} \leq v_{2}}} \right\rbrack}}} & \quad & \quad \\{{\bigvee v_{1}} <_{test}v_{2}} & \quad & \quad \\{{\bigvee v_{1}} =_{test}{{v_{2}\bigwedge v_{1}} <_{micro}v_{2}}} & \quad & \quad \\{{\bigvee v_{1}} =_{test}{{v_{2}\bigwedge v_{1}} =_{micro}{{v_{2}\bigwedge v_{1}} <_{id}v_{2}}}} & {if} & {{g_{1} = g_{2}},{t_{1} = {lu}}} \\\quad & \quad & \quad \\{{\exists v} = {\left( {{vs},t_{1},g_{1},{tk},{tt},{ms},{as}} \right) \in {V_{2}:{\left( {v,v_{2},{tr}} \right) \in {E_{2}\bigwedge{tr}} \in \left\{ {{prereq},{hierarchical}} \right\}}}}} & {if} & {{g_{1} \neq g_{2}},{t_{1} = {lu}},{t_{2} \neq {lu}}} \\{false} & {otherwise} & \quad\end{matrix} \right.}$

[0264] Note, if g₁=g₂, then it is obvious that V₁=V₂, E₁=E₂, t₁=t₂ andcomp₁=comp₂. In addition, in case 3, a situation is maintained in whichno direct relation between the vertices exists, but there does exist arelation to the higher-order vertex. The order relation will then alsoapply to all of the vertices in this vertex's content graph. Thissituation is depicted in FIG. 12, where v is the vertex that representsthe learning unit and v₁,v₂ are the vertices under consideration.

[0265] The function sortNav(V) is the sort of the set V in accordancewith the order relation <.

[0266] The following process is one method of implementing the functionsortNav(V):

[0267] 1. V_(preTest)={v∈V|v.contentType=tst

v.testType=pre}: the set of all pretests.

[0268] 2. V=V−V_(preTest): remove all pretests from V.

[0269] 3. V_(postTest)={v∈V|v.contentType=tst

v.testType=post}: the set of all posttests.

[0270] 4. V=V−V_(postTest): remove all posttests from V.

[0271] 5. V_(preReq)={v∈V|∃({overscore (v)},v,tr)∈E:tr=prerequisite}:the set of all vertices that have a prerequisite relation directedtoward them.

[0272] 6. V=V−V_(preReq): remove all vertices in V_(preReq) from V.

[0273] 7. L=V_(preTest): add all pretests into the sorted list.

[0274] 8. L=L∪{v∈V|v.contentType=co},V=V−L: enlarge the sorted list toinclude all vertices that have a learning unit and then remove thesevertices from V.

[0275] 9. L=LÅ{v∈V|v.contentType=lu},V=V−L: enlarge the sorted list toinclude all vertices that contain a learning unit and then remove thesevertices from V.

[0276] 10. L=LÅV: enlarge the sorted list to include the remainingvertices from V.

[0277] 11. Search for all vertices in v∈V_(preReq):

[0278] the vertex v EL such that (v*,v,prerequisite)∈E

dist(v*)=MAX (the vertex that is located farthest back in Land thatpossesses a prerequisite relation to v).

[0279] Add v into L behind v*.

[0280] 12. L=L∪V_(postTest): enlarge the sorted list to include allposttests.

[0281] 13. Return the sorted list L as the result.

[0282] The subsets determined in steps 7-12 are themselves sorted by theorder relation <_(id).

[0283] The following is an example of how a bottom-up (Inductive)learning strategy may be implemented.

[0284] The predicates for this strategy may be the same as those usedfor the macro-strategy, top-down. The functions for bottom-up may bedefined as follows: ${{StartNodes}(g)} = \left\{ \begin{matrix}{g = {{undef}:}} \\{{g.{type}} = {{lu}:{c.{mic}.{{StartNodes}(g)}}}} \\{{g.{type}} = {{sc}:\left\{ {v \in V_{g}} \middle| {\forall{\left( {v^{*},v,{tr}} \right) \in {E:{{tr} \neq {hierarchical}}}}} \right\}}}\end{matrix} \right.$

[0285] If g is undefined, the vertex doesn't have a content graph andthe set is empty.

[0286] If g is a learning unit, then the StartNodes( ) function of thechosen micro-strategy will be used.

[0287] If g is a sub-course, then all vertices that do not have anyhierarchical relations referring to them will be returned.

[0288] NextNodes(v)={{overscore (v)}∈V_(vgraph)|∃({overscore(v)},v,tr)}∪ $\begin{Bmatrix}{{v.{contentType}} = {{{le}\bigwedge{\exists{\left( {v,v^{*},{tr}} \right) \in {E:{tr}}}}} = {{{hierarchic}\bigwedge{{Done}\left( v^{*} \right)}} = {{false}:}}}} \\{{OrientationOnly}.{{StartNodes}\left( {v.{contentGraph}} \right)}} \\{{else}:} \\{{StartNodes}\left( {v.{contentGraph}} \right)}\end{Bmatrix}\quad$

[0289] All vertices that are connected to v by an externally directedrelation.

[0290] If the vertex contains a learning unit and one of thehierarchically subordinate vertices has not yet been visited, enlargethe set to include the learning unit's starting vertex using themicro-strategy “orientation only.” Otherwise, enlarge the set to includeall vertices that are starting vertices of the content graph of v.

[0291] The operations and sorting function for the bottom-up strategyare the similar to the macro-strategy top-down and therefore are notrepeated.

[0292] Linear macro-strategies represent a special case of themacro-strategies that have already been described. In linearmacro-strategies, the elements of the sorted sets of vertices areoffered for navigation sequentially, rather than simultaneously. Thislinearization may be applied to any combination of macro andmicro-strategies.

[0293] The following description includes examples of how amicro-strategy may be realized. In this example, an orientation onlymicro-strategy is described.

[0294] The predicates for the micro-strategies may be defined asfollows:

[0295] Visited (v):v.visited

[0296] The vertex's “visited” attribute is set.

[0297] Suggested(v):∀({overscore (v)},v,tr)∈E such that tr=prerequisitewe have: Done({overscore (v)})=true

[0298] All of the vertex's prerequisites are already satisfied.

[0299] CanNavigate(v):Suggested(v)

[0300] This may be used like Suggested.

[0301] Done(v):

[0302] (v.contentType≠tst

v.visited=true)

[0303] (c.contentType=tst

(v.ascore*2)≧v.mscore)

[0304] The vertex v is considered done if:

[0305] It does not contain a test and has already been visited.

[0306] It deals with a test and at least half of the maximum score hasbeen attained.

[0307] The functions may be defined as follows:

[0308] StartNodes(g)={v∈V_(g)|v.knowType=Orientation}∪

[0309] {v∈V_(g)|∃(v,{overscore (v)},tr)∈E:tr=prereq

{overscore (v)}.knowType=Orientation}

[0310] The set of all vertices with knowledge type orientation, plus allvertices that have a prerequisite relation to a vertex with knowledgetype orientation.

[0311] NextNodes(v)=Ø

[0312] For this micro-strategy, this is always the empty set. In otherwords, no successor vertices exist because all relevant vertices arecontained in the set of starting vertices.

[0313] The operations may be defined as follows:

[0314] navigate(v):v.visited=true

[0315] The vertex's “visited” attribute is set to true.

[0316] testDone(v,MaxScore,ActScore):v.mscore=MaxScore,v.ascore=ActScore

[0317] if $\left\{ \begin{matrix}{{{{Done}(v)} = {{{true}:{LCOMP}} = {{LCOMP}\bigcup{v.{graph}.{comp}}}}},{{\forall{\overset{\_}{v} \in {v.{{graph}:{\overset{\_}{v}.{visited}}}}}} = {true}}} \\{{{Done}(v)} = {{{false}:{\forall{\overset{\_}{v} \in {v.{{graph}:{\overset{\_}{v}.{visited}}}}}}} = {false}}}\end{matrix} \right.$

[0318] The maximum test score and the test score actually attained forthe vertex are both set.

[0319] If the test is passed, the learner competences will be enlargedto include the competences of the graph, and all of the graph's verticeswill be set to “visited.”

[0320] If the test is not passed, all of the graph's vertices are resetto “not visited.”

[0321] The micro-strategy orientation only may use a sorting functionthat is similar to sorting function for the macro-strategy top-down and,therefore is not repeated.

[0322] The following is an example of the implementation of an exampleoriented micro-strategy. The predicates for this strategy are identicalto those for the micro-strategy orientation only and are not repeated.

[0323] The functions may be defined as follows:

[0324] StartNodes(g)=V_(g)

[0325] All vertices that are contained in the learning unit.

[0326] NextNodes(v)=Ø

[0327] For this micro-strategy, this is always the empty set. In otherwords, no successor vertices exist because all relevant vertices arecontained in the set of starting vertices.

[0328] The operations for the example-oriented micro-strategy areidentical to those for the micro-strategy “orientation only,” and,therefore, are not repeated.

[0329] The sorting function for example-oriented is defined as follows:$v_{1} < {v_{2}\quad \text{:⇔}\left\{ \begin{matrix}{v_{1} <_{test}{v_{2}\bigvee}} & \quad & \quad \\{v_{1} =_{test}{{v_{2}\bigwedge v_{1}} <_{td}v_{2}}} & {if} & {{v_{2}.{contentType}} = {tst}} \\{{\exists{\left( {v_{1},v_{2},{tr}} \right) \in {E:{tr}}}} = {{prereq}\bigvee}} & \quad & \quad \\\left( {{v_{1}.{knowType}} = {{{Example}\bigwedge v_{1}} <_{id}v_{2}}} \right) & {if} & {{v_{2}.{knowType}} = {Example}} \\{{v_{1}.{knowType}} = {{Example}\bigvee}} & \quad & \quad \\{v_{1} <_{id}v_{2}} & {otherwise} & \quad\end{matrix} \right.}$

[0330] Steps for executing sortNav(V):

[0331] 1. V_(examp)={v∈V|v.knowType=Example}∪

[0332] {v∈V|∃(v,{overscore (v)},tr)∈E:tr=prereq

{overscore (v)}.knowType=Example}: the set of all vertices that containexamples, plus the prerequisites of these vertices.

[0333] 2. V_(remain)=V−V_(examp): the remaining vertices from V.

[0334] 3. L_(examp)=TopDown.sortNav(V_(examp)): sort the set of examplesusing the sorting algorithm from the top-down strategy.

[0335] 4. L_(remain)=TopDown.sortNav(V_(remain)): sort the set ofremaining vertices using the sorting algorithm from the top-downstrategy.

[0336] 5. L=L_(examp)∪L_(remain): form the union of the two sortedlists.

[0337] 6. Return the sorted list L as the result.

[0338] The predicates, functions, and operations for the micro-strategyexplanation-oriented are identical to those for the micro-strategyexample-oriented, and, therefore are not repeated. The sorting functionfor the explanation-oriented micro-strategy is similar to the sortingfunction of the micro-strategy example-oriented (the only differencebeing that explanations, rather than examples, are used to form the twosets).

[0339] The predicates, functions, and operations for the micro-strategyaction-oriented are identical to those for the micro-strategyexample-oriented, and, therefore are not repeated. The sorting functionfor the action-oriented micro-strategy is similar to the sortingfunction of the micro-strategy example-oriented (the only differencebeing that actions, rather than examples, are used to form the twosets).

[0340] A number of implementations have been described. Nevertheless, itwill be understood that various modifications may be made. For example,advantageous results may be achieved if the steps of the disclosedtechniques are performed in a different order and/or if components in adisclosed system, architecture, device, or circuit are combined in adifferent manner and/or replaced or supplemented by other components.Accordingly, other implementations are within the scope of the followingclaims.

What is claimed is:
 1. A course editor comprising: an input to acceptauthor commands; and an interface to process and display the authorcommands to facilitate the creation of a course, the interfaceincluding, a work space to display and assemble structural elements intothe course.
 2. The course editor of claim 1 wherein the workspaceincludes a menu of structural elements that may be added to the course.3. The course editor of claim 2 wherein the workspace is configured todisplay a structural element in response to an author command selectingthe structural element from the menu.
 4. The course editor of claim 1wherein the structural elements are one of a sub-course, a learningunit, and a knowledge item.
 5. The course editor of claim 1 wherein thework space includes one or more tabs, each tab corresponding to acontent aggregation level to display structural elements correspondingto the content aggregation level.
 6. The course editor of claim 1wherein the workspace is configured to create a relation betweenstructural elements that is used to indicate a dependency between thestructural elements.
 7. The course editor of claim 1 wherein theworkspace includes a menu of relations configured to enable an author toselect a relation from the menu and to insert the relation between afirst structural element and a second structural element displayed inthe workspace.
 8. The course editor of claim 7 wherein the interface isconfigured to insert the relation by receiving an author commandselecting the first structural element and dragging the relation fromthe first structural element to the second structural element.
 9. Thecourse editor of claim 6 wherein the relation is true in one directiononly.
 10. The course editor of claim 6 wherein the relation is true intwo directions.
 11. The course editor of claim 6 wherein the relation issubject taxonomic.
 12. The course editor of claim 11 wherein the subjecttaxonomic relation is hierarchical.
 13. The course editor of claim 12wherein the hierarchical relation is one of a part/whole relation and anabstraction relation.
 14. The course editor of claim 11 wherein thesubject taxonomic relation is associative.
 15. The course editor ofclaim 14 wherein the associative relation is one of determines,side-by-side, alternative to, opposite to, precedes, context of, processof, values, means of, and affinity.
 16. The course editor of claim 6wherein the relation is non-subject taxonomic.
 17. The course editor ofclaim 16 wherein the non-subject taxonomic relation is a relation thatindicates a structural element should be completed before proceeding toa related structural element.
 18. The course editor of claim 16 whereinthe non-subject taxonomic relation is a relation that indicates that astructural element belongs to another structural element.
 19. The courseeditor of claim 1 wherein the interface includes a dialog box displayingone or more fields corresponding to a structural element displayed inthe workspace.
 20. The course editor of claim 19 wherein the one or morefields include a name field.
 21. The course editor of claim 19 whereinthe one or more fields include a theme field.
 22. The course editor ofclaim 19 wherein the one or more fields include a content field toassign content to a structural element.
 23. The course editor of claim19 wherein the one or more fields include a media type field.
 24. Thecourse editor of claim 19 wherein the one or more fields include alearning time field.
 25. The course editor of claim 19 wherein the oneor more fields include a thumbnail field.
 26. The course editor of claim19 wherein the one or more fields include an attribute field to assign aknowledge type.
 27. The course editor of claim 19 wherein the dialog boxincludes one or more tabs to select different fields.
 28. The courseeditor of claim 27 wherein the one or more tabs include a general tabincludes fields to receive information about content associated with thestructural elements.
 29. The course editor of claim 27 wherein the oneor more tabs include an annotation tab that includes a field to receivenotes regarding content associated with the structural elements.
 30. Thecourse editor of claim 27 wherein the one or more tabs include keywordtab including a field to receive keywords to help search for acorresponding structural element.
 31. The course editor of claim 27wherein the one or more tabs include a competency tab including fieldsto receive competencies gained from content associated with thestructural element.
 32. The course editor of claim 1 wherein theinterface includes a course overview to display structural elements andrelations of the course.
 33. The course editor of claim 32 wherein theinterface is configured to receive an author command selecting astructural element from the course overview and to display the selectedstructural element in the workspace.
 34. The course editor of claim 33wherein the interface is configured to automatically display a dialogbox corresponding to the selected structural element.
 35. The courseeditor of claim 32 wherein the interface is configured to receive anauthor command selecting a relation from the course overview and todisplay the selected relation and associated structural elements in theworkspace.
 36. The course editor of claim 1 wherein the interface isconfigured to receive an author command selecting a learning strategy togenerate a navigation path for display to the author based on theselected learning strategy.
 37. A graphical user interface for a courseeditor comprising: a workspace window to edit and display structuralelements of a course; an overview window to display and select arepresentation of the structural elements of the course; and a dialogbox window to display data fields corresponding to structural elementsshown in the workspace window.
 38. The graphical user interface of claim37 further comprising a menu bar to display course editor menusincluding functions to control and interact with the course editor. 39.The graphical user interface of claim 37 further comprising a button barincluding one or more buttons to invoke course editor functions tointeract with the windows and their displayed contents.
 40. Thegraphical user interface of claim 37 wherein a structural element isdisplayed as a rectangle in the workspace.
 41. The graphical userinterface of claim 40 wherein the rectangle is color-coded, each type ofstructural element having a different color.
 42. The graphical userinterface of claim 37 wherein the workspace includes a menu ofstructural elements that may be added to the course.
 43. The graphicaluser interface of claim 42 wherein the workspace is configured todisplay a structural element selected from the workspace menu.
 44. Thegraphical user interface of claim 37 wherein the structural elements areone of a sub-course, a learning unit, and a knowledge item.
 45. Thegraphical user interface of claim 37 wherein the work space includes oneor more tabs, each tab corresponding to a content aggregation level todisplay structural elements corresponding to the content aggregationlevel.
 46. The graphical user interface of claim 37 wherein theworkspace is configured to create a relation between structural elementsthat is used to indicate a dependency between the structural elements.47. The graphical user interface of claim 37 wherein the workspaceincludes a menu of relations and the workspace is configured to displaya relation selected from the menu.
 48. The graphical user interface ofclaim 47 wherein the interface is configured to insert the relation byindicating a first structural element that is selected in the workspacewindow, displaying an indication of a relation extending from the firststructural element, and connecting the extended relation to a secondstructural element displayed in the workspace.
 49. The graphical userinterface of claim 46 wherein the indication of a relation that is truein one direction only is an arrow.
 50. The graphical user interface ofclaim 46 wherein the indication of a relation that is true in twodirections is a line.
 51. The graphical user interface of claim 46wherein the dialog box may be used to specify the relation is subjecttaxonomic.
 52. The graphical user interface of claim 51 wherein thedialog box may be used to specify relation is hierarchical.
 53. Thegraphical user interface of claim 52 wherein the dialog box may be usedto specify the relation is one of a part/whole relation and anabstraction relation.
 54. The graphical user interface of claim 51wherein the dialog box may be used to specify the relation is one ofdetermines, side-by-side, alternative to, opposite to, precedes, contextof, process of, values, means of, and affinity.
 55. The graphical userinterface of claim 46 wherein the dialog box may be used to specify therelation is non-subject taxonomic.
 56. The graphical user interface ofclaim 55 wherein the dialog box may be used to specify the non-subjecttaxonomic relation is a relation that indicates a structural elementshould be completed before proceeding to a related structural element.57. The graphical user interface of claim 55 wherein the dialog box maybe used to specify the non-subject taxonomic relation is a relation thatindicates that a structural element belongs to another structuralelement.
 58. The graphical user interface of claim 37 wherein the dialogbox is configured to display one or more fields corresponding to astructural element displayed in the workspace.
 59. The graphical userinterface of claim 58 wherein the one or more fields are configured toreceive data characterizing a structural element.
 60. The graphical userinterface of claim 58 wherein the one or more fields include a namefield.
 61. The graphical user interface of claim 58 wherein the one ormore fields include a theme field.
 62. The graphical user interface ofclaim 58 wherein the one or more fields include a content field toassign content to a structural element.
 63. The graphical user interfaceof claim 58 wherein the one or more fields include a media type field.64. The graphical user interface of claim 58 wherein the one or morefields include a learning time field.
 65. The graphical user interfaceof claim 58 wherein the one or more fields include a thumbnail field.66. The graphical user interface of claim 58 wherein the one or morefields include an attribute field to assign a knowledge type.
 67. Thegraphical user interface of claim 58 wherein the dialog box includes oneor more tabs each populated with one or more fields.
 68. The graphicaluser interface of claim 67 wherein the one or more tabs include ageneral tab including fields to receive information about contentassociated with the structural elements.
 69. The graphical userinterface of claim 67 wherein the one or more tabs include an annotationtab including a field to receive notes regarding content associated withthe structural elements.
 70. The graphical user interface of claim 67wherein the one or more tabs include a keyword tab including a field toreceive keywords to help search for a corresponding structural element.71. The graphical user interface of claim 67 wherein the one or moretabs include a competency tab including a field to receive competenciesgained from the content associated with the structural elements.
 72. Thegraphical user interface of claim 37 wherein the overview window isconfigured to display an indication of a selected structural element andthe workspace window is configured to display the indicated structuralelement.
 73. The graphical user interface of claim 72 wherein the dialogbox window is configured to automatically correspond to the selectedstructural element.
 74. The graphical user interface of claim 37 whereinthe interface is configured to display a learning strategy window toindicate a selected strategy and to generate a navigation path window todisplay a suggested sequence of structural elements based on theselected learning strategy.
 75. The graphical user interface of claim 37wherein the windows are automatically sized to fit on a correspondingdisplay.
 76. The graphical user interface of claim 75 wherein one ormore of the windows include a vertical scroll bar to access and displayportions of the window that are not displayed.
 77. The graphical userinterface of claim 75 wherein one or more of the windows include ahorizontal scroll bar to access and display portions of the window thatare not displayed.